/*
 * @Description: IIFE函数
 * @Author: zzj
 * @Date: 2021-09-05 10:15:04
 * @LastEditors: zzj
 * @LastEditTime: 2021-09-08 20:28:04
 */

//IIFE函数    在JSES5中的块级作用域(模拟)
// 块级作用域为了隔离作用域，防治污染区全局
//普通函数
var a = 1;
console.log(a)
{
    //ES6语法
    var a = 2;
    console.log(a)
}
function test(){
    var a = 3;
    console.log(a);
}//ES5
test();

//IIFE函数    使用一对（）将函数的声明括起来，使得JS编译器不再认为这是一个函数声明，而是一个IIFE，即需要立刻执行声明的函数。
(function(){   // 这个函数在声明后，会立即调用
    var a = 4;
    console.log(a);
})()

